Data converters, both digital-to-analog converters (DACs) and analog-to-digital converters (ADCs), are ubiquitous in applications involving digital signal processing of real-world signals such as those found in communication systems, instrumentation, and audio and video processing systems.
Two major issues for DAC design are monotonicity and resolution. Monotonicity means that as the digital value becomes greater, the converted analog value must also become greater. Many DAC building blocks require guaranteed monotonicity with moderate clock rate and moderate design complexity. Examples include a DAC in a digitally controlled oscillator within the PLL loop, or a DAC in a digitally controlled crystal oscillator in an automatic frequency control loop. The matching between different DAC elements is usually required to guarantee monotonic behavior. With the scaling down of integrated circuit manufacturing processes, the physical sizes of the DAC elements become smaller, and it is therefore more difficult to control the sizes of DAC elements, which must be matched to achieve monotonicity. As a result, the physical sizes of the DAC elements are limited by the matching requirement, thus the DAC does not benefit from the process scaling.
One type of DAC that has guaranteed monotonicity is a thermometer DAC. It is so named because it is similar to a mercury thermometer, where the mercury column always rises to the appropriate temperature and no mercury is present above that temperature. Typically, the input digital signal is binary and the binary code is converted to a thermometer code. The thermometer code is then used to control thermometer elements to generate an analog signal. For a thermometer DAC, elements are all of the same size, so that element matching becomes much simpler than in the binary case. Considering the transfer function, the thermometer converter is monotonic by design, since, when the input value increases, the bits change from 0 to 1 only. The requirement on element matching is also relaxed in the thermometer DAC and the monotonicity is guaranteed.
In conventional DACs, thermometer coding is combined with binary coding to achieve the digital-to-analog conversion for any digital number within the conversion range. For example, for a 12-bit DAC, the 12 bits are divided into 6 most-significant bits (MSBs) and 6 least-significant bits (LSBs). The MSBs are converted to a 63-bit thermometer code, with each bit corresponding to one of the macros. Each of the macros is capable of providing a current corresponding to 64 times a minimum current, wherein the minimum current is the unit representing the LSB. For LSBs, whose corresponding digital numbers being less than 64, binary coding is used for the decoding and the controlling of unit cells. At least six unit cells are needed to provide 1 time, 2 times, 4 times, 8 times, 16 times, and 32 times the minimum current. With the different combination of the currents of the six unit cells, any LSB number can be represented.
In the conventional DACs, the unit cells may need to provide relatively greater currents. In the above-discussed case, for example, the maximum current needs to be provided by a single unit cell 32 times the minimum current. This requires the corresponding unit cell to occupy a relatively large chip area. Accordingly, it is difficult to achieve gradient variation matching within the unit cell. If the DACs have 14 bits, at least eight unit cells are needed, which provide 1 time, 2 times, 4 times, 8 times, 16 times, 32 times, 64 times, and 128 times the minimum current. It is thus even more difficult to achieve the gradient variation matching in the unit cell that needs to provide 128 times the minimum current. Therefore, new decoding methods are needed to solve the above-discussed problems.